namespace Helion.Window.Input;

/// <summary>
/// All the supported input keys.
/// </summary>
public enum Key
{
    Unknown,
    Zero,
    One,
    Two,
    Three,
    Four,
    Five,
    Six,
    Seven,
    Eight,
    Nine,
    A,
    B,
    C,
    D,
    E,
    F,
    G,
    H,
    I,
    J,
    K,
    L,
    M,
    N,
    O,
    P,
    Q,
    R,
    S,
    T,
    U,
    V,
    W,
    X,
    Y,
    Z,
    Backtick,
    Tilde,
    Exclamation,
    At,
    Hash,
    Dollar,
    Percent,
    Caret,
    Ampersand,
    Asterisk,
    ParenthesisLeft,
    ParenthesisRight,
    Minus,
    Underscore,
    Equals,
    Plus,
    BracketLeft,
    BracketRight,
    CurlyLeft,
    CurlyRight,
    Backslash,
    Pipe,
    Semicolon,
    Colon,
    Apostrophe,
    Quotation,
    Comma,
    Period,
    DiamondLeft,
    DiamondRight,
    Slash,
    Question,
    ControlLeft,
    ControlRight,
    AltLeft,
    AltRight,
    ShiftLeft,
    ShiftRight,
    Space,
    Enter,
    Backspace,
    Tab,
    Up,
    Down,
    Left,
    Right,
    Escape,
    F1,
    F2,
    F3,
    F4,
    F5,
    F6,
    F7,
    F8,
    F9,
    F10,
    F11,
    F12,
    Insert,
    Delete,
    Home,
    End,
    PageUp,
    PageDown,
    PrintScreen,
    ScrollLock,
    Pause,
    Numlock,
    CapsLock,
    LeftGUIKey,
    RightGUIKey,
    AltGraph,
    MouseLeft,
    MouseMiddle,
    MouseRight,
    MouseCustom1,
    MouseCustom2,
    MouseCustom3,
    MouseCustom4,
    MouseCustom5,
    MouseCustom6,
    MouseCustom7,
    MouseCustom8,
    MouseWheelUp,
    MouseWheelDown,
    Max
}
